<template>
  <a-layout-sider
    :class="['sider', isDesktop() ? null : 'shadow', theme, fixSiderbar ? 'ant-fixed-sidemenu' : null ]"
    width="140px"
    :collapsible="collapsible"
    v-model="collapsed"
    :trigger="null">
    <logo/>
    <s-menu
      :menus="menus"
      :collapsed="collapsed"
    ></s-menu>
  </a-layout-sider>

</template>

<script>
  import Logo from '@/components/tools/Logo'
  import SMenu from './index'
  import { mixin, mixinDevice } from '@/utils/mixin'

  export default {
    name: 'SideMenu',
    components: {
      Logo,
      SMenu
    },
    mixins: [mixin, mixinDevice],
    props: {
      mode: {
        type: String,
        required: false,
        default: 'inline'
      },
      theme: {
        type: String,
        required: false,
        default: 'dark'
      },
      collapsible: {
        type: Boolean,
        required: false,
        default: false
      },
      collapsed: {
        type: Boolean,
        required: false,
        default: false
      },
      menus: {
        type: Array,
        required: true
      }
    },
    methods: {
      onSelect (obj) {
        this.$emit('menuSelect', obj)
      }
    }
  }
</script>
